//闭包是两部分组成的:函数+可以访问的自由变量 name+bar()
function foo() {
  var name = 'foo'

  function bar() {
    console.log('bar', name);
  }

  return bar
}

var fn = foo()
fn()


// 在JavaScript中,每当创建一个函数,闭包就会在函数创建的同时被创建出来
var name = "why"

function demo() {
  console.log(name)
}


// 可以访问角度 -> 是闭包
// 有访问到角度 -> 不是闭包
function test() {

}